/**
 *
 * Liangna
 * Date:2015/03/24
 *
 */
jQuery.extend({
	/**
	 * 
	 * 全选、反选的 jq 插件
	 * 调用方法如下：
	 * HTML 代码：全选、反选两个 checkbox 的 id 必须分别是"select_all"、"reverse_select"，且封装在 table 的 thead 中
	 * javascript 代码：
	 	$("table thead th input[type='checkbox']").on('click',function() {
			$.selectAll_reverseSelect(this);
		});
	 *
	 * */
	selectAll_reverseSelect : function(obj) {
		var select_type = $(obj).attr("id");
		var checkboxArray = $(obj).parents("table").find("tbody input[type='checkbox']");
		var len = checkboxArray.length;

		if (len > 0) {
			$(obj).siblings().attr("checked", false);
			if (select_type == "select_all") {
				if ($(obj).prop("checked")) {
					for (var i = 0; i < len; i++) {
						if (checkboxArray[i].checked == false) {
							checkboxArray[i].checked = true;
						}
					}
				} else {
					for (var i = 0; i < len; i++) {
						if (checkboxArray[i].checked == true) {
							checkboxArray[i].checked = false;
						}
					}
				}
			} else if (select_type == "reverse_select") {
				for (var i = 0; i < len; i++) {
					checkboxArray[i].checked ? checkboxArray[i].checked = false : checkboxArray[i].checked = true;
				}
			}

		}
	},

	/**
	 * 
	 * 获取选中状态的 checkbox 的ID
	 * 调用方法如下：
	 * HTML 代码：checkbox 必选包含 id 属性
	 * javascript 代码：var check_array = $.Get_checked_ID();
	 * 
	 * */
	Get_checked_ID : function() {
		var inputs = $("tbody").find("input[type='checkbox']");
		var len = inputs.length;
		var checked_array = new Array();

		if (len > 0) {
			for (var i = 0; i < len; i++) {
				if (inputs[i].checked == true) {
					checked_array.push($(inputs[i]).attr("id"));
				}
			}
		}
		return checked_array;
	},
});
